type batterysecret, domain;
type batterysecret_exec, exec_type, vendor_file_type, file_type;

init_daemon_domain(batterysecret)

r_dir_file(batterysecret, cgroup)
r_dir_file(batterysecret, mnt_vendor_file)
r_dir_file(batterysecret, vendor_sysfs_battery_supply)
r_dir_file(batterysecret, sysfs_batteryinfo)
r_dir_file(batterysecret, sysfs_type)
r_dir_file(batterysecret, vendor_sysfs_usb_supply)
r_dir_file(batterysecret, vendor_sysfs_usbpd_device)

allow batterysecret {
  mnt_vendor_file
  persist_subsys_file
  rootfs
}:dir rw_dir_perms;

allow batterysecret {
  persist_subsys_file
  sysfs
  vendor_sysfs_battery_supply
  sysfs_usb
  vendor_sysfs_usb_supply
  vendor_sysfs_usbpd_device
}:file w_file_perms;

allow batterysecret kmsg_device:chr_file rw_file_perms;

allow batterysecret self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;

allow batterysecret self:global_capability_class_set {
  sys_tty_config
  sys_boot
};

allow batterysecret self:capability {
  chown
  fsetid
};

allow batterysecret {
  system_suspend_hwservice
  hidl_manager_hwservice
}:hwservice_manager find;

binder_call(batterysecret, system_suspend_server)

wakelock_use(batterysecret)
